package dichotomy.guess.number;
/**
 * @Time 2020/1/9
 * @author 王光浩
 * @Need 在1 to n中找出用户事先指定的数字。你可以使用程序自带的方法判断数字是否是用户指定的数字。
 *       思路：暴力法、二分法
 *       暴力法：直接从0到n进行查找，调用对应方法进行判断，如果找到了就返回去该数。
 *       复杂度分析：时间复杂度O（n），空间复杂度O（1）
 *       运行结果：超过时间限制
 *       二分法：从1到n进行判断，边界条件是later>=previous
 *       复杂度分析：时间复杂度O（log2(n)），空间复杂度O（1）
 */
public class MyMthodOne {
    public int guessNumber(int n) {
        int later=n;
        int previous=1;
        int mid,judge=0;
        while(true){
        	mid=previous+(later-previous)/2;
        //	judge=guess(mid);
        	if(judge==0)return mid;
        	if(judge==-1)previous=mid+1;
        	else later=mid-1;
        }
    }
}
